// Inclusion guard start
#ifndef input_h
#define input_h

// Include libraries
#include <SDL/SDL.h>

// Include misc
#include "game_engine/typedefs.h"

// Constants
	// Key flags
	const u32 KEY_LEFT=0x1;
	const u32 KEY_RIGHT=0x2;
	const u32 KEY_UP=0x4;
	const u32 KEY_DOWN=0x8;
	const u32 KEY_FIRE=0x10;
	const u32 KEY_SLIDE=0x20;
	const u32 KEY_JUMP=0x40;
	const u32 KEY_ACCEPT=0x80;
	const u32 KEY_ESCAPE=0x100;

class Input
{
	// Public
	public:
		// Variables
			// Key holders
			u32 keysHeld;
			u32 keysPressed;
			u32 keysReleased;

		// Functions
		/** @brief Constructor
		  */
		Input();

		/** @brief scans the keys
		  */
		void scanKeys();
};

// Inclusion guard end
# endif
